#include <iostream>
#include <algorithm>
using namespace std;
int v[105],ms,s=0,n,a[105],j;
void dfs(int i,int sum){
  if(sum==s-ms){
    for(i=0;i<n;i++)
      if(v[i]==1) cout<<a[i]<<' ';
    cout<<endl;
    return ;
  }
  if(i==n) return ;
  if(i<n&&i>1){
    if(a[i]==a[i-1]&&v[i-1]==0)//排除重复情况
      i++;
  }
  v[i]=1;
  dfs(i+1,sum+a[i]);
  v[i]=0;
  dfs(i+1,sum);
  return ;
}
int main()
{
  cin>>ms>>n;
  for(j=0;j<n;j++){
    cin>>a[j];
    s+=a[j];
  }
  sort(a,a+n);
  dfs(0,0);
  return 0;
}